//#![deny(unsafe_code)]

mod appender;
mod core;
mod logger;
mod record;

pub use self::logger::*;
pub use appender::Appender;

#[derive(Copy, Clone)]
pub enum TargetIndex {
    T0 = 0,
    T1 = 1,
    T2 = 2,
    T3 = 3,
    T4 = 4,
    T5 = 5,
    T6 = 6,
    T7 = 7,
    T8 = 8,
    Max = 9,
}

pub trait TargetMapping: Send + Sync {
    fn map(name: &str) -> TargetIndex;
}

type Error = Box<dyn std::error::Error>;
type Result<T> = std::result::Result<T, Error>;
